{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "ce0f962c",
   "metadata": {},
   "source": [
    "# Test orbit file (LED) reading and Hermite interpolation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d3eacd57",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6e6eb96f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "from matplotlib.lines import Line2D\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "81e8772e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'nd': '281', 'iy': '2015', 'id': '140', 'isec': '48064.000000', 'idsec': '10.000'}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>iy</th>\n",
       "      <th>id</th>\n",
       "      <th>isec</th>\n",
       "      <th>px</th>\n",
       "      <th>py</th>\n",
       "      <th>pz</th>\n",
       "      <th>vx</th>\n",
       "      <th>vy</th>\n",
       "      <th>vz</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>48064.0</td>\n",
       "      <td>1.941649e+06</td>\n",
       "      <td>2.690324e+06</td>\n",
       "      <td>6.239974e+06</td>\n",
       "      <td>-1656.759849</td>\n",
       "      <td>-6599.833496</td>\n",
       "      <td>3353.575432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>48074.0</td>\n",
       "      <td>1.924925e+06</td>\n",
       "      <td>2.624189e+06</td>\n",
       "      <td>6.273157e+06</td>\n",
       "      <td>-1688.050184</td>\n",
       "      <td>-6627.146750</td>\n",
       "      <td>3283.006276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>48084.0</td>\n",
       "      <td>1.907889e+06</td>\n",
       "      <td>2.557784e+06</td>\n",
       "      <td>6.305632e+06</td>\n",
       "      <td>-1719.190204</td>\n",
       "      <td>-6653.671699</td>\n",
       "      <td>3212.068735</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>48094.0</td>\n",
       "      <td>1.890542e+06</td>\n",
       "      <td>2.491118e+06</td>\n",
       "      <td>6.337397e+06</td>\n",
       "      <td>-1750.175288</td>\n",
       "      <td>-6679.405648</td>\n",
       "      <td>3140.770806</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>48104.0</td>\n",
       "      <td>1.872886e+06</td>\n",
       "      <td>2.424198e+06</td>\n",
       "      <td>6.368447e+06</td>\n",
       "      <td>-1781.000831</td>\n",
       "      <td>-6704.345996</td>\n",
       "      <td>3069.120523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>276</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>50824.0</td>\n",
       "      <td>-3.004528e+06</td>\n",
       "      <td>-3.385614e+06</td>\n",
       "      <td>-5.445894e+06</td>\n",
       "      <td>2234.108457</td>\n",
       "      <td>5529.166846</td>\n",
       "      <td>-4673.002701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>277</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>50834.0</td>\n",
       "      <td>-2.981980e+06</td>\n",
       "      <td>-3.330151e+06</td>\n",
       "      <td>-5.492317e+06</td>\n",
       "      <td>2275.548048</td>\n",
       "      <td>5563.291422</td>\n",
       "      <td>-4611.613522</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>278</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>50844.0</td>\n",
       "      <td>-2.959018e+06</td>\n",
       "      <td>-3.274350e+06</td>\n",
       "      <td>-5.538124e+06</td>\n",
       "      <td>2316.780830</td>\n",
       "      <td>5596.733029</td>\n",
       "      <td>-4549.711427</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>279</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>50854.0</td>\n",
       "      <td>-2.935645e+06</td>\n",
       "      <td>-3.218219e+06</td>\n",
       "      <td>-5.583310e+06</td>\n",
       "      <td>2357.801267</td>\n",
       "      <td>5629.488363</td>\n",
       "      <td>-4487.303403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>280</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>50864.0</td>\n",
       "      <td>-2.911862e+06</td>\n",
       "      <td>-3.161763e+06</td>\n",
       "      <td>-5.627869e+06</td>\n",
       "      <td>2398.603845</td>\n",
       "      <td>5661.554204</td>\n",
       "      <td>-4424.396491</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>281 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       iy   id     isec            px            py            pz   \n",
       "0    2015  140  48064.0  1.941649e+06  2.690324e+06  6.239974e+06  \\\n",
       "1    2015  140  48074.0  1.924925e+06  2.624189e+06  6.273157e+06   \n",
       "2    2015  140  48084.0  1.907889e+06  2.557784e+06  6.305632e+06   \n",
       "3    2015  140  48094.0  1.890542e+06  2.491118e+06  6.337397e+06   \n",
       "4    2015  140  48104.0  1.872886e+06  2.424198e+06  6.368447e+06   \n",
       "..    ...  ...      ...           ...           ...           ...   \n",
       "276  2015  140  50824.0 -3.004528e+06 -3.385614e+06 -5.445894e+06   \n",
       "277  2015  140  50834.0 -2.981980e+06 -3.330151e+06 -5.492317e+06   \n",
       "278  2015  140  50844.0 -2.959018e+06 -3.274350e+06 -5.538124e+06   \n",
       "279  2015  140  50854.0 -2.935645e+06 -3.218219e+06 -5.583310e+06   \n",
       "280  2015  140  50864.0 -2.911862e+06 -3.161763e+06 -5.627869e+06   \n",
       "\n",
       "              vx           vy           vz  \n",
       "0   -1656.759849 -6599.833496  3353.575432  \n",
       "1   -1688.050184 -6627.146750  3283.006276  \n",
       "2   -1719.190204 -6653.671699  3212.068735  \n",
       "3   -1750.175288 -6679.405648  3140.770806  \n",
       "4   -1781.000831 -6704.345996  3069.120523  \n",
       "..           ...          ...          ...  \n",
       "276  2234.108457  5529.166846 -4673.002701  \n",
       "277  2275.548048  5563.291422 -4611.613522  \n",
       "278  2316.780830  5596.733029 -4549.711427  \n",
       "279  2357.801267  5629.488363 -4487.303403  \n",
       "280  2398.603845  5661.554204 -4424.396491  \n",
       "\n",
       "[281 rows x 9 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "def read_orb(ldrfile):\n",
    "    \"\"\"\n",
    "    Read an LED file and extract the metadata and data into a dictionary and a DataFrame.\n",
    "\n",
    "    Parameters:\n",
    "    ldrfile (str): Path to the LED file.\n",
    "\n",
    "    Returns:\n",
    "    tuple: A tuple containing the metadata dictionary and the data DataFrame.\n",
    "\n",
    "    Metadata Dictionary:\n",
    "    - 'nd' (str): Number of given points in the list.\n",
    "    - 'iy' (str): Year.\n",
    "    - 'id' (str): Julian day.\n",
    "    - 'isec' (str): Seconds of the day.\n",
    "    - 'idsec' (str): Delta seconds.\n",
    "\n",
    "    Data DataFrame:\n",
    "    - 'iy' (int): Year.\n",
    "    - 'id' (int): Julian day.\n",
    "    - 'isec' (float): Seconds of the day.\n",
    "    - 'px' (float): X-coordinate.\n",
    "    - 'py' (float): Y-coordinate.\n",
    "    - 'pz' (float): Z-coordinate.\n",
    "    - 'vx' (float): X-velocity.\n",
    "    - 'vy' (float): Y-velocity.\n",
    "    - 'vz' (float): Z-velocity.\n",
    "    \"\"\"\n",
    "\n",
    "    with open(ldrfile, 'r') as file:\n",
    "        first_line = file.readline()\n",
    "    columns = ['nd', 'iy', 'id', 'isec', 'idsec']\n",
    "    meta = dict(zip(columns, first_line.split()))\n",
    "\n",
    "    # Define the column headers based on the structure in the code\n",
    "    headers = ['iy', 'id', 'isec', 'px', 'py', 'pz', 'vx', 'vy', 'vz']\n",
    "    # Read the file with pandas, specifying space as the delimiter and skipping the first row\n",
    "    df = pd.read_csv(ldrfile, delimiter=' ', header=None, skiprows=1, names=headers, index_col=False)\n",
    "    df.attrs = meta\n",
    "    \n",
    "    return df\n",
    "\n",
    "orb = read_orb('S1_20150521_ALL_F1.LED')\n",
    "\n",
    "print(orb.attrs)\n",
    "orb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "69be2417",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([48064., 48074., 48084., 48094., 48104., 48114., 48124., 48134.,\n",
       "       48144., 48154.])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "orb.isec[:10].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "000abd75",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1941649.304103, 1924925.130555, 1907888.801379, 1890541.842833,\n",
       "       1872885.827312, 1854922.373199, 1836653.144729, 1818079.851828,\n",
       "       1799204.249944, 1780028.139872])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "orb.px[:10].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "0cac7193",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1656.759849, -1688.050184, -1719.190204, -1750.175288,\n",
       "       -1781.000831, -1811.662241, -1842.15494 , -1872.474369,\n",
       "       -1902.615983, -1932.575255])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "orb.vx[:10].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4f37cb05",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Interpolated value at x=48070.0:  1931652.3436279297\n",
      "Interpolated value at x=48078.0:  1918147.973815918\n",
      "Interpolated value at x=48086.0:  1904444.2108154297\n",
      "Interpolated value at x=48092.0:  1894036.0103759766\n",
      "Interpolated value at x=48102.0:  1876441.6782836914\n",
      "Interpolated value at x=48118.0:  1847651.2810668945\n",
      "Interpolated value at x=48128.0:  1829260.2188110352\n",
      "Interpolated value at x=48138.0:  1810565.7890014648\n",
      "Interpolated value at x=48150.0:  1787734.5283203125\n",
      "Interpolated value at x=48160.0:  1768378.997619629\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/homebrew/lib/python3.10/site-packages/numpy/polynomial/hermite.py:1404: RankWarning: The fit may be poorly conditioned\n",
      "  return pu._fit(hermvander, x, y, deg, rcond, full, w)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from numpy.polynomial.hermite import hermfit, hermval\n",
    "\n",
    "# Define the data points\n",
    "x = orb.isec[:10].values\n",
    "y = orb.px[:10].values\n",
    "z = orb.vx[:10].values\n",
    "\n",
    "# Fit the Hermite polynomial\n",
    "coeff = hermfit(x, y, 5)\n",
    "\n",
    "for test_x in [48070.000000, 48078.000000, 48086.000000, 48092.000000, 48102.000000,\n",
    "        48118.000000, 48128.000000, 48138.000000, 48150.000000, 48160.000000]:\n",
    "    # Perform the interpolation\n",
    "    y_interpolated = hermval(test_x, coeff)\n",
    "    # Output the interpolated value\n",
    "    print(f'Interpolated value at x={test_x}: ', y_interpolated)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a89f97a5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.3 µs ± 5.47 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)\n"
     ]
    }
   ],
   "source": [
    "%timeit hermval(test_x, coeff)"
   ]
  },
  {
   "cell_type": "raw",
   "id": "afd6bc7a",
   "metadata": {},
   "source": [
    "GMTSAR results:\n",
    "\n",
    "Interpolated value at x=48070.000000: 1931652.342476\n",
    "Interpolated value at x=48078.000000: 1918147.973109\n",
    "Interpolated value at x=48086.000000: 1904444.210371\n",
    "Interpolated value at x=48092.000000: 1894036.010073\n",
    "Interpolated value at x=48102.000000: 1876441.677945\n",
    "Interpolated value at x=48118.000000: 1847651.280003\n",
    "Interpolated value at x=48128.000000: 1829260.218019\n",
    "Interpolated value at x=48138.000000: 1810565.788336\n",
    "hermite: interpolation not in center interval\n",
    "Interpolated value at x=48150.000000: 1787734.527925\n",
    "interpolation point outside of data constraints, 48160.000000 48064.000000 48154.000000"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bf1a0b00",
   "metadata": {},
   "source": [
    "## extend_orbit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "cca55110",
   "metadata": {},
   "outputs": [],
   "source": [
    "# extend the LED orbit records\n",
    "!extend_orbit S1_20150521_ALL_F1.LED S1_20150521_ALL_F1.extend.LED 0.25"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "8ddb8958",
   "metadata": {},
   "outputs": [],
   "source": [
    "orb = read_orb('S1_20150521_ALL_F1.LED')\n",
    "orb_extend = read_orb('S1_20150521_ALL_F1.extend.LED')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "cd25e367",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>iy</th>\n",
       "      <th>id</th>\n",
       "      <th>isec</th>\n",
       "      <th>px</th>\n",
       "      <th>py</th>\n",
       "      <th>pz</th>\n",
       "      <th>vx</th>\n",
       "      <th>vy</th>\n",
       "      <th>vz</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>47364.0</td>\n",
       "      <td>2.155312e+06</td>\n",
       "      <td>8.995849e+06</td>\n",
       "      <td>-7.113904e+05</td>\n",
       "      <td>1526.195265</td>\n",
       "      <td>-8865.539915</td>\n",
       "      <td>15004.669749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>47374.0</td>\n",
       "      <td>2.170276e+06</td>\n",
       "      <td>8.907191e+06</td>\n",
       "      <td>-5.621793e+05</td>\n",
       "      <td>1466.655397</td>\n",
       "      <td>-8866.011652</td>\n",
       "      <td>14837.659072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>47384.0</td>\n",
       "      <td>2.184646e+06</td>\n",
       "      <td>8.818529e+06</td>\n",
       "      <td>-4.146351e+05</td>\n",
       "      <td>1407.483011</td>\n",
       "      <td>-8866.210255</td>\n",
       "      <td>14671.277379</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>47394.0</td>\n",
       "      <td>2.198427e+06</td>\n",
       "      <td>8.729867e+06</td>\n",
       "      <td>-2.687517e+05</td>\n",
       "      <td>1348.678105</td>\n",
       "      <td>-8866.135724</td>\n",
       "      <td>14505.524670</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>47404.0</td>\n",
       "      <td>2.211621e+06</td>\n",
       "      <td>8.641208e+06</td>\n",
       "      <td>-1.245226e+05</td>\n",
       "      <td>1290.240680</td>\n",
       "      <td>-8865.788058</td>\n",
       "      <td>14340.400945</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>416</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>51524.0</td>\n",
       "      <td>9.190270e+05</td>\n",
       "      <td>4.360970e+06</td>\n",
       "      <td>-7.606135e+06</td>\n",
       "      <td>8478.568519</td>\n",
       "      <td>14515.146149</td>\n",
       "      <td>-177.875603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>417</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>51534.0</td>\n",
       "      <td>1.004279e+06</td>\n",
       "      <td>4.506687e+06</td>\n",
       "      <td>-7.607441e+06</td>\n",
       "      <td>8571.900739</td>\n",
       "      <td>14628.298165</td>\n",
       "      <td>-83.228949</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>418</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>51544.0</td>\n",
       "      <td>1.090466e+06</td>\n",
       "      <td>4.653536e+06</td>\n",
       "      <td>-7.607797e+06</td>\n",
       "      <td>8665.600440</td>\n",
       "      <td>14741.723314</td>\n",
       "      <td>12.046690</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>419</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>51554.0</td>\n",
       "      <td>1.177592e+06</td>\n",
       "      <td>4.801522e+06</td>\n",
       "      <td>-7.607198e+06</td>\n",
       "      <td>8759.667622</td>\n",
       "      <td>14855.421598</td>\n",
       "      <td>107.951312</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>420</th>\n",
       "      <td>2015</td>\n",
       "      <td>140</td>\n",
       "      <td>51564.0</td>\n",
       "      <td>1.265661e+06</td>\n",
       "      <td>4.950646e+06</td>\n",
       "      <td>-7.605636e+06</td>\n",
       "      <td>8854.102285</td>\n",
       "      <td>14969.393016</td>\n",
       "      <td>204.484918</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>421 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       iy   id     isec            px            py            pz   \n",
       "0    2015  140  47364.0  2.155312e+06  8.995849e+06 -7.113904e+05  \\\n",
       "1    2015  140  47374.0  2.170276e+06  8.907191e+06 -5.621793e+05   \n",
       "2    2015  140  47384.0  2.184646e+06  8.818529e+06 -4.146351e+05   \n",
       "3    2015  140  47394.0  2.198427e+06  8.729867e+06 -2.687517e+05   \n",
       "4    2015  140  47404.0  2.211621e+06  8.641208e+06 -1.245226e+05   \n",
       "..    ...  ...      ...           ...           ...           ...   \n",
       "416  2015  140  51524.0  9.190270e+05  4.360970e+06 -7.606135e+06   \n",
       "417  2015  140  51534.0  1.004279e+06  4.506687e+06 -7.607441e+06   \n",
       "418  2015  140  51544.0  1.090466e+06  4.653536e+06 -7.607797e+06   \n",
       "419  2015  140  51554.0  1.177592e+06  4.801522e+06 -7.607198e+06   \n",
       "420  2015  140  51564.0  1.265661e+06  4.950646e+06 -7.605636e+06   \n",
       "\n",
       "              vx            vy            vz  \n",
       "0    1526.195265  -8865.539915  15004.669749  \n",
       "1    1466.655397  -8866.011652  14837.659072  \n",
       "2    1407.483011  -8866.210255  14671.277379  \n",
       "3    1348.678105  -8866.135724  14505.524670  \n",
       "4    1290.240680  -8865.788058  14340.400945  \n",
       "..           ...           ...           ...  \n",
       "416  8478.568519  14515.146149   -177.875603  \n",
       "417  8571.900739  14628.298165    -83.228949  \n",
       "418  8665.600440  14741.723314     12.046690  \n",
       "419  8759.667622  14855.421598    107.951312  \n",
       "420  8854.102285  14969.393016    204.484918  \n",
       "\n",
       "[421 rows x 9 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "orb_extend"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "9e49a6a3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x128276f80>]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1200x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,4))\n",
    "plt.plot(orb_extend.isec, orb_extend.px, c='red', lw=1)\n",
    "plt.plot(orb.isec, orb.px, c='green', lw=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "4921bbb4",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numpy.polynomial.hermite import hermfit, hermval\n",
    "\n",
    "# Define the data points\n",
    "x = orb.isec.values\n",
    "y = orb.px.values\n",
    "z = orb.vx.values\n",
    "\n",
    "# Fit the Hermite polynomial\n",
    "coeff = hermfit(x, y, 5)\n",
    "vals_orig = hermval(orb_extend.isec, coeff)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "f3839edc",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numpy.polynomial.hermite import hermfit, hermval\n",
    "\n",
    "# Define the data points\n",
    "x = orb.isec.values[len(orb) // 4:-len(orb) // 4]\n",
    "y = orb.px.values[len(orb) // 4:-len(orb) // 4]\n",
    "z = orb.vx.values[len(orb) // 4:-len(orb) // 4]\n",
    "\n",
    "# Fit the Hermite polynomial\n",
    "coeff = hermfit(x, y, 5)\n",
    "\n",
    "vals_half = hermval(orb.isec, coeff)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ba67a865",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9QAAAFuCAYAAABgGlC+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABz9UlEQVR4nO3ddXQUd8PF8e/GSUISJBAsuLtbsRYt7lAo0OJSaKFYi1OkOBRv8dLirkWLU9xJcYdAgQRNSHbeP/KSpymakGQi93POHNjZ2Zm7252Gm5n5jcUwDAMRERERERERCRcbswOIiIiIiIiIxEYq1CIiIiIiIiIRoEItIiIiIiIiEgEq1CIiIiIiIiIRoEItIiIiIiIiEgEq1CIiIiIiIiIRoEItIiIiIiIiEgEq1CIiIiIiIiIRoEItIiIiIiIiEgEq1CIiIiIiIiIREGsK9Y4dO6hevTopU6bEYrGwYsWKcK/DMAxGjRpFlixZcHR0JFWqVAwZMiTyw4qIiIiIiEicZ2d2gPf15MkT8ubNy5dffkmdOnUitI4uXbrwxx9/MGrUKHLnzs39+/e5f/9+JCcVERERERGR+MBiGIZhdojwslgsLF++nFq1aoXOCwgI4Pvvv+f333/n4cOH5MqVix9//JGyZcsCcObMGfLkycPJkyfJmjWrOcFFREREREQkzog1p3y/S6dOndi7dy8LFizg+PHj1K9fn8qVK3Pu3DkAVq9eTYYMGVizZg3p06cnXbp0tGrVSkeoRUREREREJELiRKG+evUqs2bNYvHixZQqVYqMGTPy7bff8tFHHzFr1iwALl68yJUrV1i8eDFz585l9uzZHDp0iHr16pmcXkRERERERGKjWHMN9ducOHGC4OBgsmTJEmZ+QEAASZIkAcBqtRIQEMDcuXNDl5sxYwYFCxbEx8dHp4GLiIiIiIhIuMSJQv348WNsbW05dOgQtra2YZ5zdXUFIEWKFNjZ2YUp3dmzZwdCjnCrUIuIiIiIiEh4xIlCnT9/foKDg/H19aVUqVKvXaZkyZIEBQVx4cIFMmbMCMDff/8NQNq0aaMtq4iIiIiIiMQNsWaU78ePH3P+/HkgpECPGTOGcuXKkThxYry9vWnatCm7d+9m9OjR5M+fn7t377Jlyxby5MlD1apVsVqtFC5cGFdXV8aNG4fVaqVjx464ubnxxx9/mPzuREREREREJLaJNYV6+/btlCtX7pX5zZs3Z/bs2bx48YIffviBuXPncuPGDZImTUqxYsUYOHAguXPnBuDmzZt89dVX/PHHH7i4uFClShVGjx5N4sSJo/vtiIiIiIiISCwXawq1iIiIiIiISEwSJ26bJSIiIiIiIhLdYvSgZFarlZs3b5IwYUIsFovZcURERERERCSOMwyDR48ekTJlSmxs3n4MOkYX6ps3b5ImTRqzY4iIiIiIiEg8c+3aNVKnTv3WZWJ0oU6YMCEQ8kbc3NxMTiMiIiIiIiJxnb+/P2nSpAnto28Towv1y9O83dzcVKhFREREREQk2rzPZccalExEREREREQkAlSoRURERERERCJAhVpEREREREQkAlSoRURERERERCJAhVpEREREREQkAlSoRURERERERCJAhVpEREREREQkAlSoRURERERERCJAhVpEREREREQkAlSoRURERERERCLAzuwA8mGsVitBQUFhJovFgq2t7SuTxWLBYrG8/8oNA168AKsVbGzAYvnfny8nERERERGReEqFOhoFBgZy9+5dHjx4wIMHD3j48GHon//++5MnT3j+/Plr12EYBhaLBcMwALC1tcXOzi50srW1xTAMgoODQ6aAAIKfPMH69CnWZ88wnj3D8uJFSFH+7xQcjK3VipthkMhqJVFwMIkgdPL4/z+TAUkAGwcHcHYOmVxc/vd3d3dIkuTVKXlySJUqZHJxiY6PXEREREREJMqoUEeSQ4cOcf36de7cuRM6+fr6hhZjwzBwcHDA09OTxIkTkyhRIjw8PEiUKBEpU6YM/bu7uzuurq44Ojq+39HkFy/g8mU4fx4uXPjfnxcuwPXr8OhR2OVdXCBpUkiUCDw8/venhwe4uBBkb48/8CA4mAdBQTx48YIHz55x4/FjTj5+zIMnT/D19+efR48wrFYIDsbGaiWZoyNe9vZ4Wa2kefCAdL6+pH3yBPeHD+GffyAoKGwOD4//leu0aSFjxpApU6aQPxMm/ND/JCIiIiIiIlFKhTqSHDp0CBsbG1KkSEG+fPlInjw5yZIlI0GCBJGzAcOAK1fgxImwk4/P/8qqgwOkTx9SSitUgDRpIGXK/00pUryzqNoBif9/el/BwcHcvXuX27dvc+vWLa5fv87+y5e5fPkyfn5+ADja2OCdJAnpXFzI6OhIVhsb0j97ht3Nm3DoECxc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\n",
      "text/plain": [
       "<Figure size 1200x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,4))\n",
    "plt.plot(orb_extend.isec, orb_extend.px, c='red', lw=1, label='extend_orbit')\n",
    "plt.plot(orb.isec, orb.px, c='green', lw=1, label='Orig')\n",
    "plt.plot(orb_extend.isec, vals_orig, c='black', lw=0.5, label='Hermite Full Orbit')\n",
    "plt.plot(orb.isec, vals_half, c='blue', lw=0.5, label='Hermite Half orbit')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "050830e5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      1.000975\n",
       "1      1.000893\n",
       "2      1.000817\n",
       "3      1.000744\n",
       "4      1.000676\n",
       "         ...   \n",
       "276    1.006075\n",
       "277    1.006462\n",
       "278    1.006872\n",
       "279    1.007306\n",
       "280    1.007764\n",
       "Name: isec, Length: 281, dtype: float64"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check the extrapolation accuracy\n",
    "vals_half/orb.px.values"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
